package com.tuyue.police.biz;

import com.tuyue.police.response.CodeImageResponse;
import com.tuyue.police.util.Result;

/**
 * @Author: 文婧瑶
 * @Description: app设备
 * @Date: 15:08 2018/6/1
 */

public interface IYsDeviceBiz {

    /**
     * @Author: 文婧瑶
     * @Description: 添加设备并添加子账户权限
     * @Date: 15:09 2018/6/1
     */
    public Result addDeviceAndSetAccess(String deviceSerial, String validateCode, String accountId) throws Exception;

    /**
     * @Author: 文婧瑶
     * @Description: 删除设备并删除子账户权限
     * @Date: 15:42 2018/6/1
     */
    public Result delDeviceAndDelAccess(String deviceSerial, String accountId);

    /**
     * @Author: 文婧瑶
     * @Description: 修改设备
     * @Date: 16:31 2018/6/1
     */
    public Result updateDevice(String accountId, String deviceSerial, String deviceName);

    /**
     * @Author: 文婧瑶
     * @Description: 生成设备配网二维码
     * @Date: 17:06 2018/6/1
     */
    public Result<CodeImageResponse> qrcode(String accountId, String ssid, String password);

    /**
     * @Author: 文婧瑶
     * @Description: 获取摄像头列表
     * @Date: 17:06 2018/6/1
     */
    public Result list(String accountId, int pageStart, int pageSize);

    /**
     * @Author: 文婧瑶
     * @Description: 获取直播地址
     * @Date: 17:06 2018/6/1
     */
    public Result getBroadcastAddress(String accountId, String source);

    /**
     * @Author: 文婧瑶
     * @Description: 获取报警消息列表
     * @Date: 17:07 2018/6/1
     */
    public Result policeList(String accountId, Long startTime, Long endTime, Integer alarmType, Integer status, Integer pageStart, Integer pageSize);

    /**
     * @Author: 文婧瑶
     * @Description: 开启设备视频加密
     * @Date: 10:16 2018/6/4
     */
    public Result videoEncryptionOn(String accountId, String deviceSerial);

    /**
     * @Author: 文婧瑶
     * @Description: 关闭设备视频加密
     * @Date: 10:50 2018/6/4
     */
    public Result videoEncryptionOff(String accountId, String deviceSerial, String validateCode);

    /**
     * @Author: 文婧瑶
     * @Description: 设备布撤防
     * @Date: 16:14 2018/6/4
     */
    public Result setProtection(String accountId, String deviceSerial, int isDefence);

    /**
     * @Author: 文婧瑶
     * @Description: 获取单个设备信息
     * @Date: 11:53 2018/6/6
     */
    public Result deviceInfo(String accountId, String deviceSerial);
}